    (  )   http://www.lancos.com/e2p/ponyprog2000.html

     ,         (  - );   -    ,        .



PonyProg2000 

 www.lancos.com

 : 2001/09/19 04:01:29




      1 
      2  
      2.1 
      2.1.1  
      2.1.2   
      2.1.3   () 
      2.1.4   (eeprom) 
      2.1.5 ()  
      2.1.6 ()   
      2.1.7 ()  () 
      2.1.8 ()  (eeprom) 
      2.1.9  
      2.1.10 
      2.1.11 
      2.1.12 
      2.2 
      2.2.1  
      2.2.2   
      2.2.3  , 
      2.3 
      2.4 
      2.4.1  
      2.4.2   ()
      2.4.3   (eeprom)
      2.4.4     
      2.4.5  
      2.4.6   ()
      2.4.7   (eeprom)
      2.4.8     
      2.4.9  
      2.4.10   ()
      2.4.11   (eeprom)
      2.4.12 
      2.4.13 GetInfo
      2.4.14 
      2.4.15 
      2.4.16  
      2.5 
      2.5.1  
      2.5.2  
      2.5.3  
      2.5.4  
      2.5.5   ()
      2.5.6  () config
      2.6 
      2.6.1  
      2.6.2 
      3    
      3.1  Prog
      3.1.1  
      3.1.2 I?CBus eeprom 
      3.1.3  eeprom 
      3.1.4 SPI eeprom 
      3.1.5 SDE2506 eeprom 
      3.1.6 NVM eeprom 
      3.1.7 Avr  
      3.1.8 PIC  
      3.1.9 ,  
      3.1.10  
      3.1.11   
      3.1.12  
            
      4 FAQ
      
      A



1 
 PonyProg   ,   .
 Windows95/98/ME  NT/2000   Setup.exe   
.
 RedHat Linux 6.2/7.0 ,     
*  xvfzP PonyProg-X.XXX.tar.gz
* chmod +s/usr/local/bin/ponyprog2000 ()
         PonyProg    
  2.4.x   parport, parport_pc  ppdev  . 
insmod    ,   PonyProg.
      , ,      
//dev/ttySx  /var/lock .  RedHat   
     uucp .

 ,   ,         
  .   ,    "    
 "  ,  ,       , 
   .
       ().



2  
 -    . 



2.1 
2.1.1  
  ,       . 



2.1.2   
   ,       .    
,        () ,    
PonyProg . PonyProg      : e2p, 
intel , motorola S-      .      
  e2p,      intel ;     , 
      S-Rec;     ,   
      .     e2p,     
  ,    ,      
  ,   .   splitted  / 
 Avr  PIC   eeprom    
         
.



2.1.3   () 
     splitted  /.  
splitted       :     
      .        
   .    ,    . 
,        :  , motorola S-  
    . 



2.1.4   (eeprom) 
     splitted  /.  
splitted       :     
      .        
   .    ,    . 
,        :  , motorola S-   
   . 



2.1.5 ()  
()      .   ()   
   , () .



2.1.6 ()   
  ,     () .   
        ,  () ( 
()).       ,  () 
  .   ()    e2p,   
       .  .bin -  
 ,   ,      .




2.1.7 ()  () 
     splitted  /.  
splitted       :     
      .   ()  
     .     () 
 ,  ()   ,  ().



2.1.8 ()  (eeprom) 
     splitted  /.  
splitted       :     
      .   ()  
     .     () 
,  ()   ,  ().



2.1.9  
   ()      .   
   /     
(/)        :  -   
-      .



2.1.10 
  ,     ()   .   
()      .



2.1.11 
  ,         
 ,     ;          
 ,    ,    ()   a 
 ,   .



2.1.12 
   ,    .     
    ,    ()     
 .



2.2 
2.2.1  
  ,     ()   .   () 
()    ,   , e2p   ( ).  
 () -   ,      
    .




2.2.2  
  ,      ()   
 .      ,   
          . 
         
.  ,     (grayed),     modificable.
Avr AT90S4433     

PIC 16F84

   :     -   
  PWRTE:       
  WDTE:       
  FOSC1, FOSC0:   
        FOSC1FOSC0Status
         checkednot checkedRC  /
         checkedcheckedHS   /
        checkednot checkedXT  /
        checkedcheckedLP    


AT89S8252

Microchp 24C65

 ,       () ,  (). 
  ,     " ,   "  "   
  " .  () , ()      
0.



2.2.3  , 
    ()       .   
 ,     ,    
 .    : hexadecimal   
 .      (),    ()  
  ,            , 
hexadecimal,  .      ASCII ( magenta)  
 ,  ,       ,  
 .            
()  .  ,    /     
 , ,       , ,  
    .




2.3 
   .        
 (, , , ()...).  "  XXX "   
,              
,   ,      ,     
    .     : I?C 
 eeproms,      8 , I?C  eeproms,  
    16 ,  eeproms    8 , 
 eeproms    16 , SPI eeproms, Avr 
, PIC 16 , IMBus eeproms  SDE2506 
eeprom.          combo-,  
    .      
.INI ,      ,  .    
I?C  eeproms   24xx (  SDE2526, SDA2546, SDA2586, SDA3546, 
SDA3586)   " 24XX  ".
24C01   readed,   writed,      2402  24XX  
.  ,      24C01 eeprom   24C02 eeprom, 
      24C01.
  eeproms     : 16  
    8 .     
  VCC  GND.  -Prog     16  
,        8 .



2.4 
2.4.1  
      .    
 ,  ,       .   
 , ,     "Abort". 
  ,    .
     " ,   " ,    
 ,  ,       (. 
).  ,   ,   ,     
,      0's FF (  ). 
,    - 24XX, Avr   PIC.   
Avr  ,      "   "  ,  
    .   preproduction    
 .      ,   , .
   1.15c,    Avr  (AT90S2313 )   
,     .   ,  
 ,   - preproduction ,   . 
  ,     , ,   .  ,  
 preproduction    "".




2.4.2   ()
     splitted  /.  
splitted       :     
      .      
  ,     .



2.4.3   (eeprom)
     splitted  /.  
splitted       :     
      .      
  ,     .



2.4.4     
      .  ,    
    .      
(),   .



2.4.5  
      .     
   .       
,       .     
   ()  "Abort".    
 , .   ,   
 .
,         ,  
" 24XX  "  " Avr  ".
 ,    ()   (eeprom)  - writed (  
 - splitted   Avr  PIC),   .
   1.15c     Avr  (. ).



2.4.6   ()
     splitted  /.  
splitted       :     
      .      
 ,     .  - Avr 
:    ,  ,     
 .



2.4.7   (eeprom)
     splitted  /.  
splitted       :     
      .      
 ,     .



2.4.8     
      .  ,    
    .      
(),   .



2.4.9  
  ,      
 .     ,  ,    
  .     ,   
 "  ".   ,    
.



2.4.10   ()
     splitted  /.  
splitted       :     
      .      
  ,    .



2.4.11   (eeprom)
     splitted  /.  
splitted       :     
      .      
  ,    .



2.4.12 
      FF (    ).  
      Avr  PIC .



2.4.13 GetInfo
    .     -  
       . 
   ,      .   
   Avr  PIC ,        
    . 
  CRC    . 
   .  -    I?C  eeprom (24XX).  
    uou    " - eeprom "  "  - eeprom ". 

       .  24C65    
      ,      10 milions 
   . (., ,  () ). 



2.4.14 
  .    () -. 



2.4.15 
   .      
   



2.4.16  
 ,     .




2.5 
2.5.1  
     FF.



2.5.2  
    .   ,    
 fo  ( -  ),     
.         (  45), hexadecimal ( . 
0x45)   (  045) .




2.5.3  
         ()  
    .  - () 256   24xx  
   .     SDA2546  
 24C08  SDA2586  24C16. :     
 " 24xx  ",  SDA2546 ,    .  
   "   ",  SDA2546  24C08  
   (()   I2CBus ).



2.5.4  
           .  
 ()   endian    endiand  
.    16bit ,         
    .
    1234 (4660  ),  endian - 34 
- 12,      endiand - 12 - 34.



2.5.5   ()
    ()     
 .      (),      
 () config .        
.



2.5.6  () config
    ,      () 
, ,   .




2.6 
2.6.1  
  ,        ()  
    .          
( . PonyProg        ).  ,    Prog  
 .

   -Prog  ""     " -Prog API "   
  "  -  -Prog "  combo-.  95/98/ME  NT/2000    
  " PonyProg API "  " PonyProg  -  ",   .  
  "  -  -Prog "  Linux    PonyProg  .   COM 
  ,    ,   COM   ,  ,   
        (    ),   
  . 
  Avr ISP     ""     " Avr 
  ISP API "" Avr ISP  -  "  combo-. WindowsNT/2000    " Avr 
  ISP  -  ".   " Avr ISP  -  "  Linux,    PonyProg  
  .   LPT ,    .  , ,     
   AT89SXX ,     "   "  .  
      Linux,   2.4.x    parport, parport_pc 
   ppdev  .
       , (, )/ Avr micros  SPI eeproms. 
  Ludipipo/JDM   " JDM API "  " JDM  -  ".   COM  
   .  ()   "-Prog"     
  JDM .      , (, )/ PIC16X84  24Cxx 
  eeproms.      JDM    24Cxx,   
   , 7  24Cxx  GND (  ).

    I?CBus  ""  ,   LPT 
     .  ()  " Avr ISP " ,    
  "EasyI2CBus" . 
  DT-006 ,  -     Avr,  (  
     Dontronics ).      
  buffered    " Avr ISP "  ,   ISP,   
    -Z  ()  . 



2.6.2 
       .    
 ,  PonyProg -  ,   PC,  
   (    HD).   PC ,    
  ,    PC,    
,    -     .
           
   PonyProg.INI (.PonyProgrc  Linux) : 
  I2CBusSpeed=NORMAL  24Cxx eeprom   I?CBus  
  SPIBusSpeed=NORMAL  Avr , AT89Sxx   25xxx eeprom 
  MicroWireBusSpeed=NORMAL  93Cxx eeprom 
  PICBusSpeed=NORMAL  PIC16X84  
  SDEBusSpeed=NORMAL  SDE2506 eeprom 
     , , ,   .
   ,      "   ",    
    PC,     - .
   PC ( MMX 200MHz)  I?CBus   80Khz  
,  110   .  ,   I?CBus     
  100KHz.



3    
PonyProg      ,        
 -Prog     .
         .




3.1 -Prog
3.1.1  
 DB9   PC COM ,    .
 J2    , ()  (   1 
  10).



3.1.2 I?CBus (2-) eeprom 
  ,    I?CBus : 24C02, 24C04, 24C08, 
24C16, 24C32, 24C64, 24C128, 24C256, 24C512, PCF858x  SDA2526, SDA2546, 
SDA2586 eeproms.     , () .  
eeprom    : 24xx (A0).      a 
24xx eeprom  SMT  (SO8)        
corrisponding   (),   ,    ()/ 
.
    24Cxx eeproms          a 
 () eeprom.         A0  A2.  
,     24C02 eeproms,  " 24XX  "   
 . PonyProg  24C04 eeprom,   -  
 24C02 eeproms.
 eeproms (  SDE  SDA eeproms)    ()  a 
 .
   (),    9V   J9   JP2  
"ext" ().



3.1.3  (3-) eeprom 
  ,    : 93C06, 93C46, 93C56, 
93C66, 93C76, 93C86 eeproms.     ()  
.  eeprom    : 93Cx6  93Cx6X 
     .  ,      8  
,    ,        
,  .
  (3-)  eeprom
       CodeOrg. SocketPower (*)  
      93AA468/16bit93Cx6Ext/IntMicroWire 16 - > 9346
      93LC46A8bit93Cx6Ext/IntMicroWire 8 - > 9346
      93LC46B16bit93Cx6Ext/IntMicroWire 16 - > 9346
      93C46B16bit93Cx6ExtMicroWire 16 - > 9346
      93AA46X8/16bit93Cx6XExt/IntMicroWire 16 - > 9346
      93LC46AX8bit93Cx6XExt/IntMicroWire 8 - > 9346
      93LC46BX16bit93Cx6XExt/IntMicroWire 16 - > 9346
      93C46BX16bit93Cx6XExtMicroWire 16 - > 9346
      93AA568/16bit93Cx6Ext/IntMicroWire 16 - > 9356
      93LC56A8bit93Cx6Ext/IntMicroWire 8 - > 9356
      93LC56B16bit93Cx6Ext/IntMicroWire 16 - > 9356
      93C56A8bit93Cx6ExtMicroWire16 - > 9356
      93C56B16bit93Cx6ExtMicroWire 16 - > 9356
      93AA56X8/16bit93Cx6XExt/IntMicroWire 16 - > 9356
      93LC56AX8bit93Cx6XExt/IntMicroWire 8 - > 9356
      93LC56BX16bit93Cx6XExt/IntMicroWire 16 - > 9356
      93C56AX8bit93Cx6XExtMicroWire16 - > 9356
      93C56BX16bit93Cx6XExtMicroWire 16 - > 9356
      93AA668/16bit93Cx6Ext/IntMicroWire 16 - > 9366
      93LC66A8bit93Cx6Ext/IntMicroWire 8 - > 9366
      93LC66B16bit93Cx6Ext/IntMicroWire 16 - > 9366
      93C66A8bit93Cx6ExtMicroWire16 - > 9366
      93C66B16bit93Cx6ExtMicroWire 16 - > 9366
      93AA66X8/16bit93Cx6XExt/IntMicroWire 16 - > 9366
      93LC66AX8bit93Cx6XExt/IntMicroWire 8 - > 9366
      93LC66BX16bit93Cx6XExt/IntMicroWire 16 - > 9366
      93C66AX8bit93Cx6XExtMicroWire16 - > 9366
      93C66BX16bit93Cx6XExtMicroWire 16 - > 9366
      93AA768/16bit93Cx6Ext/IntMicroWire 16 - > 9376
      93LC768/16bit93Cx6Ext/IntMicroWire 16 - > 9376
      93C768/16bit93Cx6ExtMicroWire 16 - > 9376
      93AA868/16bit93Cx6Ext/IntMicroWire 16 - > 9386
      93LC868/16bit93Cx6Ext/IntMicroWire 16 - > 9386
      93C868/16bit93Cx6ExtMicroWire 16 - > 9386

(*),   ,    "" ,  "ext" 
(). "Int" ()      PC,    ,   
  PC COM .     LM2936Z-5,  () "ext" 
  .
Atmel  (3-)  eeprom
       CodeOrg. SocketPower (*)  
      AT93C468/16bit93Cx6Ext/IntMicroWire 16 - > 9346
      AT93C46W8/16bit93Cx6Ext/IntMicroWire 16 - > 9346
      AT93C46R8/16bit93Cx6XExt/IntMicroWire 16 - > 9346
      AT93C46A16bit93Cx6Ext/IntMicroWire 16 - > 9346
      AT93C46C16bit93Cx6Ext/IntMicroWire 16 - > 9346
      AT93C568/16bit93Cx6Ext/IntMicroWire 16 - > 9356
      AT93C56W8/16bit93Cx6Ext/IntMicroWire 16 - > 9356
      AT93C668/16bit93Cx6Ext/IntMicroWire 16 - > 9366
      AT93C66W8/16bit93Cx6Ext/IntMicroWire 16 - > 9366
      AT93C868/16bit93Cx6Ext/IntMicroWire 16 - > 9386

(*),   ,    "" ,  "ext" 
(). "Int" ()      PC,    ,   
  PC COM .     LM2936Z-5,  () "ext" 
  .
   (),    9V   J9   JP2  
"ext" ().





3.1.8 PIC  
  ,    PIC : PIC16F84, 
PIC16F84A, PIC16F87x, PIC12C50x.     ()  
.  PIC    (    silkscreen 
 (  )).     ( 1).
  PIC16F84, PIC16F84A  PIC16F87X   9V  ,   
BT1, JP2  "Int" (),  JP1  () " ".   COM  
  () enaugh ,   ()  ():  a 
 +15     J9 (   ),  JP2  
"ext" ()  JP1  "ext" ().
  PIC12C50x    +13     J9   JP2  
"ext" ()  JP1  "ext" ().




3.1.9 ,  
 2.2 PDF  
      ()  (silkscreened  (  ))  
      JP1Switch         PIC Vpp .
      JP2Switch   COM       Vdd .
      JP3Select     Avr AT90Sxx  AT89SXX 
      
      JP4Connect  7  GND. 24Cxx      ,   
      GND,     PCF8582 .
              
      J9Connector  Vdd  ().   ()  () 
      (9V, i.e.battery)  Vdd   5    . 
           ():
         COM   () enaugh  
             ( . N-Mos ) 
          LM2936Z-5  78L05 

      BT1Connector  Vpp   (). PIC16Fxxx    a 
      ,   Vpp = Vdd + 9V





3.1.10  
  PonyProg,      DB9  DB9     
  :
      DB9 FemaleDB9 
      11
      22
      33
      44
      55
      66
      77
      88
      99

 -  "   ",  ,    . 
  "    " s.



3.1.11   
 2.2 PDF  



3.1.12  
 2.2 PDF,  



4 F.A.Q.
=============
Avr 
=============

Q:     ATmega,    "    ".
Q:     Avr AT90Sxxx,   -21,    .  ?

A:     PonyProg.INI  (    )

   AVRByteWriteDelay=30 ' ,     () 
   AVREraseDelay=100 ' ,     

     ATmega    :
   ATMegaPageWriteDelay=50 ' ,       

--------

Q:       AT90S1200 .    :
   "     -24 "

A:   "Ignore",    - "  succesful "    
       . ,        .

--------

Q:    Avr,     (  ),  PonyProg
       ,      ()       .

A:       INI ,     (
   )

  SPIResetPulse=100 ',   -  ,  PonyProg
  SPIDelayAfterReset=50 ',   PonyProg    


===============
 
===============

Q:     ,   Pony-Prog  COM ?

A:    "   "    9  .
     "   " . ( 3.1.10)

--------



